package com.jzr.board.api

import com.jzr.board.base.Constant
import com.jzr.board.bean.*
import com.jzr.board.bean.body.RecordBody
import com.jzr.board.bean.body.UpdateCareLabelBody
import com.jzr.board.bean.body.UpdateNursingBody
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.QueryMap
import rx.Observable


interface ApiService {


    /**
    连接测试
     */
    @GET(Constant.connectTest)
    fun connectTest(): Observable<ConnectTestBean?>?


    /**
    选择科室
     */
    @GET(Constant.getCheckDeptNo)
    fun getCheckDeptNo(): Observable<DeptCodeListBean?>?

    /**
    绑定床位号
     */
    @POST(Constant.getBindingDeptNo)
    fun getBindingDeptNo(@Body record: RecordBody): Observable<BindingDeptBean?>?

    /**
    获取设备信息
     */
    @GET(Constant.getDeviceInfo)
    fun getDeviceInfo(@QueryMap map: Map<String, String>): Observable<DeviceInfoBean?>?

    /**
    获取病人列表
     */
    @GET(Constant.getPatientList)
    fun getPatientList(@QueryMap map: Map<String, String>): Observable<PatientListBean?>?

    /**
    获取今天排班
     */
    @GET(Constant.getTodayPlan)
    fun getTodayPlan(@QueryMap map: Map<String, String>): Observable<NurseSchedulBean?>?


    /**
    获取今日汇总
     */
    @GET(Constant.getBoardGet)
    fun getBoardGet(@QueryMap map: Map<String, String>): Observable<BoardGetBean?>?

    /**
    根据deptCoe获取护士词典列表
     */
    @GET(Constant.getNurseCodeList)
    fun getNurseCodeList(@QueryMap map: Map<String, String>): Observable<NurseListBean?>?


    /**
    获取标签分类
     */
    @GET(Constant.getCategoryList)
    fun getCategoryList(@QueryMap map: Map<String, String>): Observable<CategoryListBean?>?

    /**
    根据标签分类获取词典列表
     */
    @GET(Constant.getCareLabelList)
    fun getCareLabelList(@QueryMap map: Map<String, String>): Observable<CareLabelListBean?>?

    /**
    更新护理标签
     */
    @POST(Constant.getUpdateCareLabel)
    fun getUpdateCareLabel(@Body record: UpdateCareLabelBody): Observable<BaseBean?>?

    /**
    获取护理标签列表
     */
    @GET(Constant.getPatientCareLabelList)
    fun getPatientCareLabelList(@QueryMap map: Map<String, String>): Observable<PatientCareLabelListBean?>?

    /**
    更新护理信息
     */
    @POST(Constant.getUpdateNursing)
    fun getUpdateNursing(@Body map: UpdateNursingBody): Observable<BaseBean?>?


    /**
    获取最新版本
     */
    @GET(Constant.getLastVersion)
    fun getLastVersion(@QueryMap map: Map<String, String>): Observable<LastVersionBean?>?

    /**
    获取费用明细列表
     */
    @GET(Constant.getFeeRecordList)
    fun getFeeRecordList(@QueryMap map: Map<String, String>): Observable<FeeRecordListBean?>?

    /**
    获取检查报告列表
     */
    @GET(Constant.getTestReportList)
    fun getTestReportList(@QueryMap map: Map<String, String>): Observable<TestReportListBean?>?

    /**
    获取检验报告列表
     */
    @GET(Constant.getInspectReportList)
    fun getInspectReportList(@QueryMap map: Map<String, String>): Observable<InspectReportListBean?>?

    /**
    获取医嘱列表
     */
    @GET(Constant.getOrderList)
    fun getOrderList(@QueryMap map: Map<String, String>): Observable<OrderListBean?>?

    /**
    获取体温列表
     */
    @GET(Constant.getTemperatureList)
    fun getTemperatureList(@QueryMap map: Map<String, String>): Observable<TemBean?>?

    /**
    获取血压列表
     */
    @GET(Constant.getBloodPressList)
    fun getBloodPressList(@QueryMap map: Map<String, String>): Observable<BloodBean?>?

    /**
    获取血氧列表
     */
    @GET(Constant.getOxymeterList)
    fun getOxymeterList(@QueryMap map: Map<String, String>): Observable<BloodBean?>?


}


